home *** CD-ROM | disk | FTP | other *** search
- MUSIC MODULE COMPRESSOR
- version 1.30
-
- User's Manual
-
-
- Table of contents:
-
- 1. Introduction
- 2. Information on MMCMP:
- 2.1. Requirements
- 2.2. Files in this packages
- 2.3. Features of this version
- 3. Usage:
- 3.1. Compressing files
- 3.2. Decompressing files
- 3.3. Using MMTSR
- 3.3.1. Loading MMTSR
- 3.3.2. Enabling/Disabling
- 3.3.3. Removing MMTSR from memory
- 3.3.4. More about MMTSR
- 4. Some legal stuff...
- 5. Closing words
- 6. Contacting the author
-
- <See MMUPDATE.DOC for latest implementations!>
-
-
- 1. Introduction
-
- As music modules and samples are constantly growing larger and
- larger, it becomes interesting to compress those files to save space
- on disk. However, files compressed using "standard" compression
- utility may be played by only a few players and can't usually be
- loaded into any conventionnal tracker for editing and composing. But
- now, MMCMP offer you the possibility to do so.
-
- MMCMP is a conventionnal compression utility that will compress music
- modules and samples, giving approximatively the same ratio you could
- expect with any popular compression utility. It is not some kind of
- special sound compression like MPEG2, for example, which may give a
- very gound compression ratio, but modifies the data and tends to
- lower sound quality. MMCMP does not modify the original sound data,
- and decompressing a compressed file (using MMUNCMP) gives back the
- original ome.
-
- What's special with MMCMP is the small TSR (Terminate and Stay
- Resident) utility (MMTSR.COM) which, once loaded, decompresses in
- "background" compressed files when they are loaded by "ANY" player or
- tracker. So you DON'T NEED TO DECOMPRESS MODULES AND SAMPLES TO PLAY
- THEM BACK AND USE THEM! However, due to technical reasons, MMTSR can't
- compress module when, within a tracker, you save them back on your
- disk. You'll have to do this "manually" with MMCMP.
-
- Fortunately, this shall be soon possible, as I'm currently working
- with Jeffrey Lim, the author of *Impulse Tracker*, so that IT will
- include compression/decompression routines. A few trackers already
- use some kind of sample compression, but as far that I know, this
- shall be the first tracker (I guess) with such a reasonable
- compression (ratio approximatively equal to ZIP, ARJ, LZH, etc.. and
- twice or thrice faster!)
-
-
-
- 2. Information on MMCMP
-
- 2.1. Requirements:
-
- - A 80386 based or better computer (does anybody still have something
- worse????)
- - around 350k of free conventionnal memory (MMCMP/MMUNCMP)
- - 64 k of free exTended memory OR 64k of free exPanded memory (for
- MMTSR only)
- - some free space on your drive C: (for MMTSR only) to uncompress a
- file (the size of a big module is enough...)
-
- These requirements may change with future version of the program.
- See the "Features" section down here and the MMUPDATE.DOC file.
-
- 2.2. Files in this package:
-
- You should have all the following files:
-
- MMCMP.EXE The compression utility
- MMUNCMP.EXE The decompression utility
- MMTSR.COM The TSR version of MMUNCMP
- MMCMP.DOC This file...
- MMTSR.DOC Technical information on MMTSR
- MMUPDATE.DOC Information on previous, current and future releases
- FILE_ID.DIZ Small description for BBS
-
- If you wish to distribute MMCMP, see the legal stuff below.
-
- 2.3. Features of this version
-
- MMCMP can actually compress module of the following formats and
- supports everything supported by the specified tracker version:
- - S3M: Scream Tracker 3 module (ST3 version 3.21)
- (adlib samples not supported (who cares.:]) but MMCMP supports
- 16 bits samples even if ST3 doesn't)
- - IT: Impulse Tracker module (IT version 1.05)
- - XM: Extended Module (Fast Tracker 2.06)
- - MOD: Amiga MOD format (made with any good MOD tracker, except old
- MODs with only 15 instruments, they are not supported yet)
-
- MMCMP also handles samples files of the following formats:
-
- - DigiPlayer / Scream Tracker 3 Sample file (often refered as S3I or
- SMP)
- - Impulse Tracker samples.
-
- These are the trackers with which MMCMP has been tested. Of course,
- MMCMP might work correctly with module made with newer versions of
- those trackers as long as modules don't hold newly implemented
- features, but it is possible that MMCMP might not handle correctly
- what was said to be "currently unsupported" by those trackers. Note
- that a lot of other sample format as well as instrument file formats
- (notably XI) shall be implemented SOON!
-
- Actually, MMCMP supports only 8/16 bits mono compression. This doesn't
- mean much though, because data like patterns, which aren't samples, are
- compressed too, exactly like samples. It only means that, for example,
- stereo samples will soon have their own compression scheme so they can
- be compressed much better. However, among currently supported module
- formats, none of their respective trackers actually support stereo
- samples, so stereo support won't be implementedd until it has to...
-
-
-
- 3. Usage
-
- 3.1. Compressing Files
-
- To compress a module, simply type at the prompt:
-
- MMCMP filename [filename] [filename]...
-
- "filename" may include a drive letter, a full path, as well as '*'
- and '?' wildcards. You may also specify more than one filename.
- The file extension must be specified. Omitting filename will show
- the previous command line syntax.
-
- * *IMPORTANT NOTE:* *
-
- =>> MMCMP WILL REPLACE THE ORIGINAL FILE with the compressed one unless an
- error occured during the process. The new file will then have the same
- name, date and time, than the original one. If an error occured while
- compressing, the file will remain unchanged. If your file is "read
- only", MMCMP won't be able to replace it and will save the compressed
- file in a temporary file, giving you the name of this file.
-
- 3.2. Decompressing Files
-
- To decompress a file, type at the prompt:
-
- MMUNCMP filename [filename] [...]
-
- The syntax follows the same rules than for MMCMP, explained above.
- Note that MMUNCMP, like MMCMP will replace the compressed file by the
- uncompressed one. It will also behave like MMCMP if an error occurs.
-
- 3.3. Using MMTSR
-
- 3.3.1. Loading MMTSR:
-
- MMTSR is loaded by typing "MMTSR" at the prompt. It will allocate
- 64k of exPanded memory -OR- 64k of exTended memory (this amount shall
- be configurable in future versions of MMTSR) and takes 2.5k of
- conventionnal memory for itself. By default, MMTSR only uses expanded
- memory, but if you don't have expanded memory or you want to use
- extended memory, you MUST specify it on the command line:
-
- > MMTSR xms
-
- Load it "high" if you can, by typing "lh mmstr" at the prompt,
- so it doesn't use "low" memory used by most applications. Once it is
- resident in memory, it will systematically decompress any file it
- recognize as a MMCMP-style compressed files. Technically speaking,
- every file BEGINNING with the "ziRCONia" signature WILL be
- decompressed.
-
- 3.3.2. Enabling/Disabling:
-
- MMTSR may be enabled/disabled anytime if you think it interferes with
- something else in your system. To desactivate MMTSR, simply type
- "MMTSR off" and to reactivate it, type "MMTSR on" at the command
- prompt.
-
- 3.3.3. Removing MMTSR from memory:
-
- Furthermore, if you want to free all the memory it uses, you may remove
- it from memory by tying "MMTSR rem". However, if another utility is
- running of other TSR (Terminate and Stay Resident programs) are
- installed after MMTSR, it may be impossible for MMTSR to remove itself
- from memory, because it could corrupt other programs loaded into
- memory. One way to resolve this problem is to load MMTSR after every
- other TSR.
-
- 3.3.4. More about MMTSR....
-
- When decompressing a files, MMTSR creates a tempory file in the root
- directory of drive C: (C:\_~zirc~_.tmp, but this shall be configurable
- in future versions of MMTSR) This means that it will most probably
- don't work correctly if some program opens more than one compressed
- file at once, or if there's not enough free space on this drive to
- store the decompressed file. Of course, a player may load more than
- one file into memory, as long as a compressed file is not opened before
- the previous one is closed first. Usually, trackers and players don't
- open more than one module or sample at once.
-
- Furthermore, since every compressed file is decompressed when it is
- opened, program that scan every files to get their name, info, etc,
- may be consequently slowed down during scanning if that program
- doesn't explicitely support compressed files. As for now, only
- Impulse Tracker recognize the 'header' part of compressed files and
- may thus scan file as fast as if they were not compressed.
-
- If music is playing while a file is being decompressed, some weird
- things might occur with the playback, only during decompression,
- depending on the player/tracker you are using. But don't worry, it
- shouldn't hurt ;) This is only due to the way the computer processes
- "background events", i.e, most of the time, decompressing file in
- "background" and playing music in background can't be done at the same
- time. Under certain circumstances, MMTSR let the music playback
- continue normally, but sometimes playback is slowed down, or paused.
- This really depends on your player or tracker.
-
-
- IMPORTANT:
-
- MMTSR performs a READ ONLY decompression, i.e. any program, player,
- tracker, may read any compressed module, but attempting to write into
- a compressed file WHILE it is STILL open will return an error to the
- program that attempted to write, like if it was a read-only file. This
- prevents corruption of the compressed file since the player/tracker
- sees the file as a non-compressed file. However, since players don't
- write into those files and trackers usually rewrite the whole
- file, there won't be any problem.
-
- Frthermore, using MMTSR to load modules or sampleswhich have been
- compressed using a newer version of MMCMP (with new compression scheme,
- i.e only adding new module format or that sort of thing doesn't change
- anything here) might crash your computer. It doesn't do anything bad,
- but you'll have to reboot your system. It might also not crash,
- instead it will only load data in a wrong manner, and results are much
- unpredictable (for example, a sample could sound like garbage). But if
- you don't save and overwrite your file after it has been altered in
- some ways, DATA CAN'T BE MODIFIED and will remain like it was before.
- Simply use MMUNCMP to decompress it correctly.
-
- This is all because MMTSR, being resident in memory and working in
- "background", can't interact with the user if something is wrong.
- Thus, to keep MMTSR as small as possible so it doesn't take too much
- memory, no check or verification is done for newly implemented
- features, not supported by the current verion of MMTSR. MMTSR may also
- simply refuse to decompress a file if it can't "understand" it.
- Consequently, you should always use the latest version of MMTSR you
- own.
-
- A lot of work has to be done around MMTSR to improve it, and a setup
- utility will probably be released soon to let the user configure
- MMTSR (temporary file path, extended/expanded memory support,
- etc..) Check the file MMUPDATE.DOC, and for technical stuff about
- MMTSR, see MMTSR.DOC
-
-
-
- 4. Some legal stuff
-
- I CAN'T BE HELD RESPONSIBLE FOR ANYTHING THAT COULD HAPPEN TO YOU, YOUR
- MACHINE, OR WHOEVER OR WHATEVER, RESULTING FROM ANY USE OF THIS SOFTWARE. BY
- USING THIS SOFTWARE, YOU ARE AUTOMATICALLY ACCEPTING THIS, AS WELL AS THE
- FOLLOWING PARAGRAPH:
-
- THIS SOFTWARE IS PROTECTED BY THE RIGHTS OF INTELLECTUAL PROPERTY. YOU MAY NOT
- MODIFY ANY PART OF THIS SOFTWARE, NOR YOU MAY ADD OR REMOVE ANYTHING TO OR FROM
- ANY OF ITS FILES. IF YOU'RE NOT A DISTRIBUTOR, YOU MAY HOWEVER FREELY
- DISTRIBUTE AND COPY IT, AS LONG AS EVERY FILES ARE PACKAGED OR ARCHIVED
- TOGETHER AND NO FILE IS MODIFIED OR REMOVED. YOU MAY ARCHIVE OTHER FILES WITH
- THIS SOFTWARE FOR ADVERTISING PURPOSE ONLY, BUT THIS SOFTWARE MUST NOT BE
- INVOLVED IN ANY WAYS IN THIS ADVERTISING NOR RELATED TO ANY OTHER PRODUCT
- WITHOUT MY CONSENT. YOU MAY NOT CHARGE ANYTHING FOR THIS SOFTWARE OR PARTS OF
- IT. DISTRIBUTORS WHO ARE INTERESTED IN THIS SOFTWARE OR ANYBODY ELSE WHO
- WISHES TO MAKE COMMERCIAL USE OF IT OR PARTS OF IT MUST GET MY WRITTEN CONSENT
- FIRST.
-
- If you wish to copy it, please archive or compress files under the
- following filename:
- MMCMPxyy.eee
-
- Where 'x' and 'yy' are the version number (x.yy). For Beta releases,
- replace the last 'y' by a 'b'. 'eee' is simply the extension added by
- the archiver. Since there's some work being done between Jeffrey Lim,
- the author of Impulse Tracker, and me, you may also distribute MMCMP
- files along with Impulse Tracker.
-
-
-
- 5. Closing words
-
- I'm sorry if this doc contains errors or some information is missing...
- please contact me if you wish to notify anyhting about it.
-
- I personnaly conceive the compression algorithm two or three years
- ago, and after having written from scratch three very different
- versions of my program (the third is the good one) here it is! But I
- haven't been really alone, I'd like to thank:
-
- Jeffrey Lim: For spending a lot of time trying to fix bugs in his
- tracker, while bugs were within my program, (dear
- MMTSR...:] ) Also helped me to spread my program all over
- the world by putting my program along with his tracker
- (*Impulse Tracker* of course...) Also did beta a LOT of
- beta testing. Thanks a lot!!
-
- Robert Pouliot (Krynos):
- Told me a simple way to make MMTSR removable, from
- which my 'remove' code was inspired. And thanks for
- bugs report!
-
- Beta Testers: Nicolas Szapiel (Moonbeam / )
- Nicolas Roberge (Populous / )
- Samuel Cote (Balrog / KFMF)
- Dominic (Mammouth)
-
- And anyone else who uses my program, and all those who are sending me
- comments, info, questions, bugs reports (...shouldn't happen ;]) !!
-
- Furthermore, if you find my utility VERY convenient, and you think
- that it worth something (well... anything), maybe you could send me
- that 'something' ;) Seriously, MMCMP is NOT a very big utility and I
- "don't" ask anything for it. I've spent many many many hours to
- conceive, code and debug this utility, and I'm still working on it...
- but this software is meant to please the whole planet! However if you
- feel happy and generous, follow your feelings! And if people around
- you feel the same way, get together to form an happy and generous
- group! I know an university student who works hard to pay his school
- fees that would be very happy to receive a little something in a
- little envelope in his little snail-mail box :-) I will also write
- your name/nick or whatever you want (simply specify it) into a "very
- kind people" list! (Why is there not such a list yet???) And if you
- have an e-mail accout, I'll send you personnaly every release of my
- software. So... open your mind, feel the generous person within you,
- and... ;)
-
- Finally...
-
- As I said in the intro, my compression algorithm shall be soon
- integrated to Impulse Tracker, so watch this out!!! and read the
- MMUPDATE.DOC file!!
-
-
-
- 6. Contacting the author
-
- If you wish to ask or report something, or for any comment, contact
- me...
-
- ... via e-mail:
- giassone@ift.ulaval.ca
- OR Emmanuel.Giasson@ift.ulaval.ca (same thing...)
-
- Subject: MMCMP (or whatever else you want...)
-
- (I shall have this mail account up to april '98, and maybe
- more...)
-
- ... via snail mail:
- Emmanuel Giasson
- 158, rue Gariepy
- St-Redempteur, Quebec
- G6K 1M5
- Canada
-
- (this shall also still be good for a couple of years...)
-
- ... via a Canadian BBS:
- Contact - OVERFLOW - (418) 659-1872. This is my local
- distribution site. Simply leave me (Zirconia) a message!
- (and don't forget to see what the BBS has to offer you!)
-
- ... via IRC ;)
- though this 'may' not be very serious, if you happen to be on
- the same 'IRC net' (may be not the 'underground net'), look for
- the nickname 'Zirconia', often on channel #quebec or #bistro
- (well, as for now...). Try between 7pm and 2am, Eastern North
- American time (-6h00 GMT I guess...)
-
- If you are reporting me bugs, please, try to be as explicit as
- possible! If you wish to use my compression algorithm, ask me first,
- but if you only want to get the algoritmh to decompress data (well,
- this may seems to be the same thing, but in fact, this is much
- simpler) you may ask me (because I haven't yet included it along with
- the software) or wait until it is integrated to IT. The decompression
- algorithm shall be there for anybody (i.e. players/trackers
- programmers) who might like to add support for compressed IT modules.
-
-
- DON'T FORGET TO LOOK THE MMUPDATE.DOC FILE!!!!!
-
- Enjoy!
-
- Zirconia a/s Emmanuel Giasson
-
-